home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / CIncludes / float.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-05  |  2.2 KB  |  90 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3.     Float.h
  4.     Characteristics of floating-point types
  5.     
  6.     Copyright Apple Computer,Inc.  1987-1990, 1993-1995
  7.     All rights reserved
  8.  
  9. ************************************************************/
  10.  
  11. /* Conditional Macros:
  12.  *    UsingStaticLibs    - for CFM-68K:  Insures that #pragma import is never used.
  13.  *    <none>            - for CFM-68K:    Insures that all functions and data items are
  14.  *                                    marked as library imports
  15.  */
  16.  
  17. #ifndef __FLOAT__
  18. #define __FLOAT__
  19.  
  20.  
  21. #define    DBL_DIG                15
  22. #define    DBL_MANT_DIG        53
  23. #define    DBL_MAX_10_EXP        308
  24. #define    DBL_MAX_EXP            1024
  25. #define    DBL_MIN_10_EXP        (-307)
  26. #define    DBL_MIN_EXP            (-1021)
  27.  
  28. #define    FLT_DIG                7
  29. #define    FLT_MANT_DIG        24
  30. #define    FLT_MAX_10_EXP        38
  31. #define    FLT_MAX_EXP            128
  32. #define    FLT_MIN_10_EXP        (-37)
  33. #define    FLT_MIN_EXP            (-125)
  34.  
  35. #define    FLT_RADIX            2
  36. #define    FLT_ROUNDS            1
  37.  
  38. #ifdef powerc
  39.     #define    LDBL_DIG            15
  40.     #define    LDBL_MANT_DIG        53
  41.     #define    LDBL_MAX_10_EXP        308
  42.     #define    LDBL_MAX_EXP        1024
  43.     #define    LDBL_MIN_10_EXP        (-307)
  44.     #define    LDBL_MIN_EXP        (-1021)
  45. #else
  46.     #define    LDBL_DIG            19
  47.     #define    LDBL_MANT_DIG        64
  48.     #define    LDBL_MAX_10_EXP        4932
  49.     #define    LDBL_MAX_EXP        16384
  50.     #define    LDBL_MIN_10_EXP        (-4931)
  51.     #define    LDBL_MIN_EXP        (-16382)
  52. #endif
  53.  
  54. #define    DBL_EPSILON            (*(double *)_DBL_EPSILON)
  55. #define DBL_MAX                (*(double *)_DBL_MAX)
  56. #define DBL_MIN                (*(double *)_DBL_MIN)
  57. #define    FLT_EPSILON            (*(float *)_FLT_EPSILON)
  58. #define FLT_MAX                (*(float *)_FLT_MAX)
  59. #define FLT_MIN                (*(float *)_FLT_MIN)
  60.  
  61. #if defined(mc68881) || defined(powerc)
  62.     #define    LDBL_EPSILON        (*(long double *)_LDBL_EPSILON)
  63.     #define LDBL_MAX            (*(long double *)_LDBL_MAX)
  64.     #define LDBL_MIN            (*(long double *)_LDBL_MIN)
  65. #else
  66.     #define    LDBL_EPSILON        (*(long double *)(_LDBL_EPSILON+1))
  67.     #define LDBL_MAX            (*(long double *)(_LDBL_MAX+1))
  68.     #define LDBL_MIN            (*(long double *)(_LDBL_MIN+1))
  69. #endif
  70.  
  71. #if defined (__CFM68K__) && !defined (UsingStaticLibs)
  72.     #pragma import on
  73. #endif
  74.  
  75. extern int _DBL_EPSILON[];
  76. extern int _DBL_MAX[];
  77. extern int _DBL_MIN[];
  78. extern int _FLT_EPSILON[];
  79. extern int _FLT_MAX[];
  80. extern int _FLT_MIN[];
  81. extern short _LDBL_EPSILON[];
  82. extern short _LDBL_MAX[];
  83. extern short _LDBL_MIN[];
  84.  
  85. #if defined (__CFM68K__) && !defined (UsingStaticLibs)
  86.     #pragma import off
  87. #endif
  88.  
  89. #endif
  90.